package serveur;

import java.util.ArrayList;
import java.rmi.RemoteException;



import partage.*;


public class ServiceInfoImpl implements ServiceInfo,Runnable {

	private ArrayList<Abonne> listeAbonne = new ArrayList<Abonne>();
	
	public void run() {  

		while(true){

			InfoTrafic fiche=new InfoTrafic();
			this.fiche=fiche;
			System.out.println("création fiche");

			for(int i=0;i<listeAbonne.size();i++){
				//System.out.println("numero"+i);	
				try {
					this.listeAbonne.get(i).informer(fiche);
					System.out.println("création fiche");
				} catch (RemoteException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				//clientVoyageur.setFiche(fiche);
			}



			try { Thread.sleep(3000+(int)(Math.random()*(7000-0)) + 0);
			}
			catch(InterruptedException e) {}


		}

	}

	
	public ArrayList<Abonne> getListeAbonne() {
		return listeAbonne;
	}
	public void setListeAbonne(ArrayList<Abonne> listeAbonne) {
		this.listeAbonne = listeAbonne;
	}
	private InfoTrafic fiche;

	public ServiceInfoImpl(){
		
	}
	public boolean abonner(Abonne a) {
		boolean r = false;
		if(!listeAbonne.contains(a)){
			listeAbonne.add(a);
			r=true;
		}
		return r;
	}

	public void desabonner(Abonne a) {
		if(listeAbonne.contains(a)){
			listeAbonne.remove(a);
		}
		// TODO Auto-generated method stub
		
	}
	@Override
	public InfoTrafic receptionInfo() throws RemoteException {
		// TODO Auto-generated method stub
		return null;
	}

}
